Object models are utilized by enterprise organizations to represent information and processes utilized in conducting business. Business models may be constructed to encapsulate a business' objectives, operations, and practices. Data models, a particular kind of object model, are used to represent the information produced and/or consumed by software. Data models may be organized into several types of object models, such as logical data models, which represent information on an abstract level, and physical data models, which represent information more concretely in database-specific implementations. Process models, another type of object model, may be used to represent particular tasks and procedures of a business enterprise, and may include service-oriented architecture models and service models.
Object models are generally created by a large team that generally includes business analysts, data architects, and software developers. A business analyst understands the business context in which the object models are to be utilized and may create a business model that forms the basis for data models. A data architect is a member of technical staff that designs and creates the logical models and/or physical models based on the business models determined by the business analyst. Finally, a software developer is another member of the technical staff that develops a specific implementation of the data models, for example, in the form of relational database query language, and writes logical code for interfacing the data model in one or more software applications for use in the business enterprise.
As the object models may include many inter-related model elements, one team member's work may affect another's previous or current efforts. This may result in errors as team members having different areas of expertise may introduce errors to parts of the model in which they are not an expert. As such, there is a need for methods and techniques for managing and coordinating model development in a distributed development environment.